Pulse compression radar systems are commonly used in many military and non-military applications. These radar systems utilize waveforms that have narrow autocorrelation functions and have time-bandwidth products that are much higher than unity enabling good range resolution (bandwidth dependent) and target detection (energy dependent).
Many pulse compression waveforms are based on maximal length pseudorandom binary codes as binary codes with good autocorrelation properties may be spectrally shaped for spectral containment to avoid interference. To reduce peak sidelobes for binary or pseudorandom number (PRN) codes, least squares or inverse filters are usually implemented as they reduce peak sidelobe levels (PSLs). However, these filters reduce PSLs at the expense of an increase in computational complexity and a decrease in processing gain compared to matched filters.
Several methodologies have been developed to design mismatched filters for binary or PRN codes. One methodology employs a technique called weighted mismatched filtering that iteratively reduces PSLs. However, this method is computationally intensive as it requires matrix inversion for each iteration, and there is no guarantee of convergence.
Another methodology uses linear programming to optimize the reduction of PSLs. While this approach is acceptable for designing filters for shorter code lengths, the computations become prohibitive on general-purpose computers for longer codes, e.g., codes in excess of 1000 or so bits.
Mismatched filter designs based on iterative signal processing algorithms such as Recursive Least Squares (RLS) and Least Mean Squares (LMS) have also been considered. RLS algorithms are computationally intensive compared with LMS algorithms and require more processor memory. Accordingly, RLS methods are not suitable for designing mismatched filters for long binary codes, e.g., codes in excess of 1000 bits.
FIG. 1 illustrates a conventional method 100 of designing a mismatched filter for long binary codes using LMS (Wiener) filtering. As shown in FIG. 1, the method starts with defining a maximal length binary or random sequence at block 102. An ideal autocorrelation function has all zeros except the main lobe response, which is set as the desired response at block 110. However, the autocorrelation function of the binary code under consideration is generally not ideal and has a non-zero sidelobe energy. The autocorrelation function of the code performed at block 104 is used to form a Toeplitz matrix at block 106. Next, the Toeplitz matrix is inverted at block 108. These design steps are usually implemented offline using programs such as MATLAB to perform the matrix inversion at block 108.
The cross-correlation performed at block 112 of the code and desired response is equivalent to code itself because the desired response is made equal to the ideal response (impulse function). As the convolution or correlation of an arbitrary function with an impulse function is the function itself, the binary code can be multiplied with the inverse of the Toeplitz matrix to generate the impulse response of a mismatched filter at block 114. However, to have flexibility in the design, one can choose any desired response (not necessarily ideal). Therefore, a cross-correlation function is usually implemented.
An ideal autocorrelation function will have a zero mainlobe width and zero sidelobe levels. However, practical finite-duration and finite-bandwidth waveforms have non-zero autocorrelation widths and finite sidelobe levels, which limit the target dynamic range. Accordingly, a weaker target may be located and undetected in the range sidelobes thereby affecting the target detection performance.
Thus, an improved method and system for designing mismatched filters is desirable.